#pragma once

#include "NewBoost.Data.h"

namespace new_boost
{
	class CEnvVar
	{
	public:
		CNewBoostSrcImageList sil_Train_Pos;
		CNewBoostSrcImageList sil_Train_Neg;
		CNewBoostSrcImageList sil_Train_CropGT;
		CNewBoostSrcImageList sil_Test_Pos;
		CNewBoostSrcImageList sil_Test_Neg;
		CNewBoostSrcImageList sil_Test_CropGT;
	public:
		CSimpleTypeArray<CBicExampleParentFileNameSet> pfsl_Train;
		CSimpleTypeArray<CBicExampleParentFileNameSet> pfsl_Test;
	public:
		string strPN_Base_ExampleSet;
		CNewBoostCropGT_SamplingSettings cgtss_Train;
		CNewBoostCropGT_SamplingSettings cgtss_Test;
		string strPN_sil_Image_CropGT_Train;
		string strPN_sil_Image_CropGT_Test;
		string strFN_Amount_CropGT_Train;
		string strFN_Amount_CropGT_Test;
		string strFN_BicExampleList_Train;
		string strFN_BicExampleList_Test;
	public:
		string strPN_Base_BoostModel;
		string strFN_BoostModel;
		string strFN_BoostTrainLog;
		string strFN_BoostTestROC;
	public:
		string strPN_Base_BoostDetect;
		string strFN_BoostDetectPRC;

	public:
		const char* GetText_ImageSet(int sgnImageSet) const;
		const char* GetText_PosNeg(int sgnPosNeg) const;
	public:
		CNewBoostSrcImageList& GetSIL_SrcImage(int sgnImageSet, int sgnPosNeg);
		CNewBoostSrcImageList& GetSIL_CropGT(int sgnImageSet);
		CNewBoostCropGT_SamplingSettings& GetCGTSS_CropGT(int sgnImageSet);
	public:
		string GetPN_sil_Image_CropGT(int sgnImageSet) const;
		string GetFN_Amount_CropGT(int sgnImageSet) const;
		string GetFN_BicExampleList(int sgnImageSet) const;
	public:
		string GetFN_BoostModel() const;
		string GetFN_BoostTrainLog() const;
		string GetFN_BoostTestROC() const;
	public:
		string GetPN_BoostDetectOutput_DetectImage(int sgnImageSet, int sgnPosNeg) const;
		string GetFN_BoostDetectOutput_DetectImage(int sgnImageSet, int sgnPosNeg, int ImageIndex) const;
		string GetFN_BoostDetectPRC() const;
	};

	extern CEnvVar EnvVar;
};

